package function;

import java.util.Arrays;

public class ArrayFunc {
	public static void main(String[] args) {
		//1.所有数组都有一个属性 length (开辟的空间)
		int[] num = {1,2,3,4,5,6};
		System.out.println(num.length);
		
		int[] num2 = new int[10];
		num2[0] = 1;
		num2[1] = 2;
		System.out.println(num2.length);  // 10
		
		//2.数组的拷贝,如下赋值不是拷贝，起了一个别名
		int[] copyNum = num;
		copyNum[0] = 11;
		System.out.println(num[0]);
		
		int[] copyNum2 = new int[num.length];
		for(int i = 0 ; i < num.length ; i++) {
			copyNum2[i] = num[i];
			System.out.println(copyNum2[i]);
		}
		
		int[] copyNum3 = new int[10];
		/*
		 * arg0: 被拷贝的数组
		 * arg1: 从被拷贝的数组的哪个下标开始拷贝
		 * arg2: 目标数组
		 * arg3: 拷贝到目标数组的开始下标
		 * arg4: 拷贝元素个数
		 * 从num数组的下标0位置开始拷贝num.length个元素到copyNum3的下标0位置
		 * 练习： 从num第三个元素位置开始拷贝2个元素到copyNum3的下标4位置
		 * System.arraycopy(num, 2, copyNum3, 4, 2);
		 */
		System.arraycopy(num,0,copyNum3,0,num.length);
		// 从num数组的下标1位置开始拷贝3个元素到copyNum3的下标2位置
//		System.arraycopy(num,1,copyNum3,2,3);
		// Arrays.toString(数组名) 可以让数组转成字符串
		System.out.println(Arrays.toString(copyNum3));
		
	}
}
